package day03;
//运算符的演示：
public class OperDemo {
    public static void main(String[] args) {
        /*
        6.条件/三目运算符：
        1)语法：
        boolean?数1：数2
        2)执行过程：
        整个表达式是有值的，他的值要么是？后面的数1，要么是：后面的数2
        计算boolean的值：
        若为true，则整个表达式的值为？号后的数1
        若为false，则整个表达式的值为：号后的数2
         */
        int num =5;
        int flag = num>0?1:-1;
        System.out.println(flag);
        int a= 8,b=5;
        int max = a>b?a:b;
        System.out.println("max"+max);
        int numm =5;
        int flag1 = numm>0?1:-1;
        System.out.println(flag1);



        /*字符串连接符：+
        1)若+两边为数字，则做加法运算
        2)若+两边出现了字符串，则做字符串连接符
        3)任何类型的数据与字符串连接，结果都会变为字符串型
         */
        /*
        System.out.println(10+20+""+30);
        System.out.println(""+10+20+30);
        System.out.println(10+20+30+"");
        System.out.println(10+20+""+30);
        System.out.println(""+10+20+30);
        System.out.println(10+20+30+"");
        System.out.println(10+20+""+30);
        System.out.println(""+10+20+30);
        System.out.println(10+""+20+""+30);
        System.out.println(10+20+30+"");
        System.out.println(10+""+20+30+"");
        System.out.println(""+10+20+""+30);


        int age = 39;
        System.out.println("age");//age
        System.out.println(age);//39
        System.out.println("age"+age);//age=39
        System.out.println("我今年"+age+"岁了");//我今年39岁了
        String name = "WKJ";
        System.out.println("大家好，我叫"+name);//大家好，我叫WKJ
        System.out.println("大家好，我叫"+name+",今年"+age+"岁了");//大家好，我叫WKJ，今年39岁了
        */



        //3.逻辑运算符:
        //1)&&:逻辑与(并且)，两边都为真则为真，见false则false
        //           -----当第一个值为false时，发生短路（后面的不执行）
        //              ||:逻辑或(或者)，有真则为真，见true则true
        //           -----当第一个值为true时，发生短路（后面的不执行）
        //               !:逻辑非(取反)，非真则假，非假则真
        //            2)逻辑运算是建立在关系运算的基础之上的，
        //              逻辑运算的结果也是boolean型
        /*
        int a = 5,b=10,c=5;
        boolean b1 =b>a&&b<c;
        System.out.println(b1);//ture&&false=false
        System.out.println(b<=c && b>a);//false&&ture=false
        System.out.println(a==b && b<a);//false&&false=false
        System.out.println(b!=c && b>a);//ture&&ture=ture

        int age = 19;
        System.out.println(age>=18 && age<=50);//判断年龄在18到50之间
        int score = 86;
        System.out.println(score>=0 && score<=100);//成绩在0到100之间
        int a = 5,b=10,c=5;
        System.out.println(b>=a ||b<c);//true || false=true
        System.out.println(b<=c || b>a);//false || true=ture
        System.out.println(b!=c || b>a);//true || true=true
        System.out.println(a==b || b<a);//false || false=false
        int score = 90;
        System.out.println(score<0 || score>100);//成绩不合法验证

        boolean b2 =!(a<b);
        System.out.println(b2);    //!true=false
        System.out.println(!(a>b));//!false=true
        */
        /*4赋值运算符：
        1）简单赋值运算符：=
        //2）扩展赋值运算符：+=,-=,*=,/=,%=
        //----扩展赋值运算符自带强转功能
        int a = 5;
        a+=10;//相当于a=(int)(a+10)
        System.out.println(a);//15
        a*=2;//相当于a=(int)(a*2)
        System.out.println(a);//30
        a/=6;//相当于a=(int)(a/6)
        System.out.println(a);//5

        //小面试题：
        short s = 5;
        //s = s+10;//变异错误，需要强转，改为s=(short)(s+10);
        s+=10;//相当于s=(short)(s+10);
        */




        /*2.关系运算符:
        1)>(大于),<(小于)
                >=(大于或等于),<=(小于或等于)
                ==(等于),!=(不等于)
                2)关系运算的结果为boolean型，关系成立则为true，关系不成立则为false
        int a = 5,b=10,c=5;
        boolean b1 =a>b;
        System.out.println(b1);//false
        System.out.println(c<b);//true
        System.out.println(a>=c);//true
        System.out.println(a<=b);//true
        System.out.println(a==c);//true
        System.out.println(a!=c);//false
        System.out.println(a%2==0);//false
        System.out.println(a+c>b);//false
        System.out.println(a++>5);//false------a自增1变为6
        System.out.println(a++>5);//true-------a自增1变为7*/




        /*
         // 2.1)单独使用时，在前在后都一样
        // 2.2)被使用，在前在后不一样
       // a++的值为a------------（a--的值为a）
       // ++a的值为a+1----------（--a的值为a-1）
        int a = 5,b=5;
        int c = a++;//将a++的值赋值5赋值给c，同时a自增1变为6
        int d = ++b;//将++b的值赋值6赋值给d，同时b自增1变为6
        System.out.println(a);//6
        System.out.println(b);//6
        System.out.println(c);//5
        System.out.println(d);//6

        /*
        int a = 5,b=5;
        a++;//相当于a=a+1
        b++;//相当于b=b+1
        System.out.println(a);//6
        System.out.println(b);//6

        int a = 5,b=5;
        a--;//相当于a=a-1
        b--;//相当于b=b-1
        System.out.println(a);//4
        System.out.println(b);//4
        */





















    }

}
